#!/bin/bash

# 启动开发环境的脚本
echo "🚀 启动Token Holders开发环境..."

# 检查是否安装了后端依赖
if [ ! -d "node_modules" ] || [ ! -f "node_modules/express/package.json" ]; then
    echo "📦 安装后端依赖..."
    # 将server-package.json重命名为package.json来安装依赖
    cp server-package.json package.json
    npm install
    # 恢复原来的package.json
    git checkout package.json 2>/dev/null || echo "package.json已恢复"
fi

# 启动后端服务
echo "🔧 启动后端服务 (端口 3001)..."
node server.js &
BACKEND_PID=$!

# 等待后端服务启动
sleep 3

# 检查后端服务是否启动成功
if curl -s http://localhost:3001/health > /dev/null; then
    echo "✅ 后端服务启动成功"
else
    echo "❌ 后端服务启动失败"
    kill $BACKEND_PID 2>/dev/null
    exit 1
fi

# 启动前端服务
echo "🎨 启动前端服务 (端口 3000)..."
npm run dev &
FRONTEND_PID=$!

# 等待前端服务启动
sleep 5

echo ""
echo "🎉 开发环境启动完成！"
echo "📱 前端地址: http://localhost:3000"
echo "🔧 后端地址: http://localhost:3001"
echo "💚 健康检查: http://localhost:3001/health"
echo ""
echo "按 Ctrl+C 停止所有服务"

# 等待用户中断
wait

# 清理进程
echo ""
echo "🛑 正在停止服务..."
kill $BACKEND_PID 2>/dev/null
kill $FRONTEND_PID 2>/dev/null
echo "✅ 所有服务已停止"
